From: Keir Fraser Date: Thu, 21 Jan 2010 11:27:11 +0000 (+0000) Subject: tools: fix sysfs error path X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12706 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=b304702a73017e34bf64c974dfff9b5cd9f258de;p=xen.git tools: fix sysfs error path Attached patch fixes sysfs error path. NetBSD also has a /proc/mounts file but no sysfs. On Linux you can test this with sysfs not mounted. Signed-off-by: Christoph Egger --- diff --git a/tools/python/xen/util/pci.py b/tools/python/xen/util/pci.py index 35c804495c..6aac0b5ba7 100644 --- a/tools/python/xen/util/pci.py +++ b/tools/python/xen/util/pci.py @@ -441,6 +441,8 @@ def find_sysfs_mnt(): def get_all_pci_names(): sysfs_mnt = find_sysfs_mnt() + if sysfs_mnt is None: + return None pci_names = os.popen('ls ' + sysfs_mnt + SYSFS_PCI_DEVS_PATH).read().split() return pci_names diff --git a/tools/python/xen/util/utils.py b/tools/python/xen/util/utils.py index 6d0c5ab8cb..6be3e8e202 100644 --- a/tools/python/xen/util/utils.py +++ b/tools/python/xen/util/utils.py @@ -68,7 +68,9 @@ def find_sysfs_mount(): continue if sline[2] == 'sysfs': sysfs_mount_point= sline[1] - return sysfs_mount_point + break + mounts_file.close() + return sysfs_mount_point except IOError, (errno, strerr): raise diff --git a/tools/python/xen/util/vscsi_util.py b/tools/python/xen/util/vscsi_util.py index 8b26117fca..15719782fa 100644 --- a/tools/python/xen/util/vscsi_util.py +++ b/tools/python/xen/util/vscsi_util.py @@ -123,6 +123,9 @@ def _vscsi_get_scsidevices_by_sysfs(): except: return devices + if sysfs_mnt is None: + return devices + for dirpath, dirnames, files in os.walk(sysfs_mnt + SYSFS_SCSI_PATH): for hctl in dirnames: paths = os.path.join(dirpath, hctl)